namespace JGSY.CMS.LowCode.Platform.Application.Interfaces;

/// <summary>
/// 短信服务接口
/// </summary>
public interface ISmsService
{
    /// <summary>
    /// 发送短信验证码
    /// </summary>
    /// <param name="phoneNumber">手机号码</param>
    /// <param name="code">验证码</param>
    /// <param name="type">验证码类型</param>
    /// <returns>发送结果</returns>
    Task<bool> SendVerificationCodeAsync(string phoneNumber, string code, string type);

    /// <summary>
    /// 发送短信
    /// </summary>
    /// <param name="phoneNumber">手机号码</param>
    /// <param name="message">短信内容</param>
    /// <returns>发送结果</returns>
    Task<bool> SendSmsAsync(string phoneNumber, string message);
}

/// <summary>
/// 邮件服务接口
/// </summary>
public interface IEmailService
{
    /// <summary>
    /// 发送密码重置邮件
    /// </summary>
    /// <param name="email">邮箱地址</param>
    /// <param name="resetCode">重置码</param>
    /// <returns>发送结果</returns>
    Task<bool> SendPasswordResetEmailAsync(string email, string resetCode);

    /// <summary>
    /// 发送邮件
    /// </summary>
    /// <param name="email">邮箱地址</param>
    /// <param name="subject">邮件主题</param>
    /// <param name="body">邮件内容</param>
    /// <returns>发送结果</returns>
    Task<bool> SendEmailAsync(string email, string subject, string body);
}
